Repository navigation
Conversation
0.3.13 folds the portable renderer half into `renderer` and made `render` throw `TN_GAME_RENDER_KEY_RENAMED`. Every game on the published latest still passes `render: config.renderer` — create-threenative 0.2.17 emits it — so the release's own upgrade proof refused to publish 0.3.13: `TN_RELEASE_UPGRADE_RED: a game on the previous latest does not upgrade onto this candidate. Nothing was published.` The key is now adopted for one release: its values are forwarded onto `renderer` (`render` wins, the merge the rename always described), the same `TN_GAME_RENDER_KEY_RENAMED` guidance is reported instead of thrown, and a `render` that is not an object still fails closed as `TN_GAME_RENDER_KEY_INVALID`. `IGameConfig.render` is declared `@deprecated`, so a 0.3.12 game typechecks and boots unchanged; the hard throw is a 0.4.0 break. Verified on a game scaffolded by the *published* create-threenative 0.2.17 against this tree's packed core: `pnpm typecheck` and `pnpm build:web` pass, and the page boots past the rename — it now fails only on a rig-local core/runtime-native version skew (0.3.13 beside registry 0.3.12), which the real cohort does not have. Units: 337 files / 4779 tests, `pnpm quality`, `pnpm typecheck`.
`onWorkerError` reported only `event.message`, so a worker that died during boot reached the page — and the playtest bridge, and the release lane — as a stack-less "Offset is outside the bounds of the DataView". The ErrorEvent carries `filename`, `lineno` and `colno`; they now ride in the message, so the next intermittent worker death names its own line.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes
developontomainso 0.3.13 can publish.Why this promotion exists now: the previous merge (PR #666,
0acb5adc3) reached main green, butnpm releaserefused to publish:The release's upgrade proof scaffolds a game from registry
latestand plays it on the candidate.[email protected](published) generatesrender: config.renderer, and 0.3.13 made that key throw, so every existing game died at boot.What changed on
develop:550a2ae8erenderis adopted ontorendererfor one release (its values win, as they always did) and the sameTN_GAME_RENDER_KEY_RENAMEDguidance is reported instead of thrown; a non-objectrenderstill fails closed (TN_GAME_RENDER_KEY_INVALID).IGameConfig.renderis@deprecated, so a 0.3.12 game typechecks and boots. The hard throw becomes a 0.4.0 break; the PRD risk row records the amendment.99b47c003a worker error now carriesfilename:lineno:colno, so the intermittent worker deaths that cost two boards report their own line.Verified:
pnpm typecheck✅,pnpm build:web✅, and it now boots past the rename — the only remaining failure is a rig-local core/runtime-native version skew (0.3.13 beside registry 0.3.12) that the real cohort does not have.packages/coresuite: 337 files, 4779 tests pass.pnpm quality,pnpm typecheck,scaffold:pin --checkclean.This PR carries no PRD; it is the promotion gate.